Java for Loop with Examples

Author: SAI K


Introduction

In Java, the for loop is one of the most commonly used control flow statements for iteration. It allows you to execute a block of code repeatedly with a controlled number of iterations. Understanding the for loop is fundamental to effective Java programming, as it is essential for tasks like traversing arrays and collections, performing repetitive tasks, and implementing algorithms.

Table of Contents

Java for Loop Syntax

The for loop in Java is a control flow statement that repeatedly executes a block of code as long as a specified condition is true. It is primarily used for iteration over arrays and collections.


for (initialization; condition; update) {
    // body of loop
}

    

Initialization: This step initializes the loop variable and is executed once.

Condition: This condition is evaluated before each iteration. If true, the loop body is executed.

Update: This step updates the loop variable after each iteration.

How for Loop Works

The for loop works by first executing the initialization statement, then checking the condition. If the condition is true, it executes the body of the loop, then performs the update statement, and repeats the process until the condition becomes false.

Simple for Loop Example


public class SimpleForLoop {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
    }
}

    

Explanation: This loop initializes i to 1, checks if i is less than or equal to 5, prints the value of i, and then increments i by 1.

Using the Comma

You can use the comma operator to include multiple initialization and update statements in a for loop.


public class ForLoopWithComma {
    public static void main(String[] args) {
        for (int i = 0, j = 10; i < j; i++, j--) {
            System.out.println("i: " + i + ", j: " + j);
        }
    }
}

    

Explanation: This loop initializes two variables, i and j, and updates both of them in each iteration until the condition i < j becomes false.

The For-Each Version of the for Loop

The for-each loop, introduced in Java 5, provides a simpler way to iterate over arrays and collections.


for (type variable : array) {
    // body of loop
}

    

Example:


public class ForEachLoopExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        for (int num : numbers) {
            System.out.println(num);
        }
    }
}

    

Explanation: This loop iterates over each element in the numbers array and prints it.

for-each Loop with Break


public class ForEachWithBreak {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        for (int num : numbers) {
            if (num == 3) {
                break;
            }
            System.out.println(num);
        }
    }
}

    

Explanation: This loop prints numbers until it encounters 3, at which point it exits the loop.

for-each Loop is Essentially Read-Only


public class ForEachReadOnly {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        for (int num : numbers) {
            num = num * 2; // This change is not reflected in the original array
        }
        for (int num : numbers) {
            System.out.println(num); // Prints original values
        }
    }
}

    

Explanation: The change to num is not reflected in the numbers array.

for-each - Iterating Over Multidimensional Arrays


public class ForEachMultidimensional {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };
        for (int[] row : matrix) {
            for (int num : row) {
                System.out.print(num + " ");
            }
            System.out.println();
        }
    }
}

    

Explanation: This loop iterates over each row of the matrix and then over each element of the row.

Search an Array Using for-each Style Example


public class SearchArrayForEach {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        int searchKey = 3;
        boolean found = false;
        for (int num : numbers) {
            if (num == searchKey) {
                found = true;
                break;
            }
        }
        if (found) {
            System.out.println("Element found in the array.");
        } else {
            System.out.println("Element not found in the array.");
        }
    }
}

    

Explanation: This loop searches for the element 3 in the array and prints a message if it is found.

Nested for Loops


public class NestedForLoop {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 3; j++) {
                System.out.println("i: " + i + ", j: " + j);
            }
        }
    }
}

    

Explanation: This loop iterates over pairs of i and j values, printing each pair.

Conclusion

The for loop is a powerful and flexible control flow statement in Java, essential for performing repetitive tasks and iterating over collections and arrays. Understanding its syntax and variations, including the for-each loop, is crucial for efficient Java programming.